home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the 3D Game Programming Gurus / gurus.iso / DirectX / dx9sdkcp.exe / SDK (C++) / Bin / DXUtils / Visual Studio 6.0 Wizards / AEDMOWiz.awx / TEMPLATE / CUSTOMINTERFACE.H < prev    next >
Encoding:
C/C++ Source or Header  |  2002-12-11  |  2.8 KB  |  98 lines

  1. //------------------------------------------------------------------------------
  2. // File: $$DLL_NAME$$.h
  3. //
  4. // Desc: Custom interface for $$INTERFACE_NAME$$
  5. //
  6. // Author: $$DSDMO_AUTHOR$$
  7. //
  8. // Copyright (c) Microsoft Corporation.  All rights reserved.
  9. //------------------------------------------------------------------------------
  10.  
  11. /////////////////////////////////////////////////////////////////////////////
  12. // TODO List: 
  13. $$IF(SUPPORT_DS_IMEDPARAM || SUPPORT_DS_DMP)
  14. //  - Define parameters for the DMO in the _$$DSDMOID_NAME$$Params struct
  15. $$ENDIF
  16. //  - Add custom interface functions if any
  17. //
  18. /////////////////////////////////////////////////////////////////////////////
  19.  
  20. #ifndef _$$DSDMO_DEFINE$$_INTERFACE_
  21. #define _$$DSDMO_DEFINE$$_INTERFACE_
  22.  
  23. $$IF(SUPPORT_DS_IMEDPARAM || SUPPORT_DS_DMP)
  24. ///////////////////////////////////////////////////////////////////////////////
  25. // Parameter Info
  26. // struct to hold the DMO's Parameters
  27. typedef struct _$$DSDMOID_NAME$$Params
  28. {
  29. $$IF(EMPTY_DSDMO)
  30. // TODO: Define parameters for the DMO
  31.     DWORD    dwParam1;    // NOTE: dwParam1 is provided as an example
  32. $$ELSE // Sample DMO
  33.     float    fFreq;
  34.     float    fWidth;
  35. $$ENDIF
  36.  
  37. } $$DSDMOID_NAME$$Params, *LP$$DSDMOID_NAME$$Params;
  38. typedef const $$DSDMOID_NAME$$Params *LPC$$DSDMOID_NAME$$Params;
  39. $$ENDIF
  40.  
  41. #ifdef __cplusplus
  42. extern "C" {
  43. #endif    /* C++ */
  44.  
  45. /* Forward Declarations */ 
  46. #ifdef __cplusplus
  47. typedef class $$CLASS_NAME$$ $$CLASS_NAME$$;
  48. #else
  49. typedef struct $$CLASS_NAME$$ $$CLASS_NAME$$;
  50. #endif /* __cplusplus */
  51.  
  52. $$IF(SUPPORT_DS_DMP)
  53. #ifdef __cplusplus
  54. typedef class $$CLASS_NAME$$Prop $$CLASS_NAME$$Prop;
  55. #else
  56. typedef struct $$CLASS_NAME$$Prop $$CLASS_NAME$$Prop;
  57. #endif /* __cplusplus */
  58. $$ENDIF
  59.  
  60. interface $$INTERFACE_NAME$$;
  61. #ifndef __cplusplus 
  62. typedef interface $$INTERFACE_NAME$$ $$INTERFACE_NAME$$;
  63. #endif    /* C++ */
  64.  
  65. /* Interface Definition */
  66. #undef  INTERFACE
  67. #define INTERFACE  $$INTERFACE_NAME$$
  68. DECLARE_INTERFACE_($$INTERFACE_NAME$$, IUnknown)
  69. {
  70.     // $$INTERFACE_NAME$$ methods
  71. $$IF(SUPPORT_DS_IMEDPARAM || SUPPORT_DS_DMP)
  72.     STDMETHOD(SetAllParameters)     (THIS_ LPC$$DSDMOID_NAME$$Params pc$$DSDMOID_NAME$$Params) PURE;
  73.     STDMETHOD(GetAllParameters)     (THIS_ LP$$DSDMOID_NAME$$Params p$$DSDMOID_NAME$$Params) PURE;
  74. $$ENDIF
  75. // TODO: Add your custom interface methods here
  76. };
  77.  
  78. /* GUID Definition */
  79. DEFINE_GUID(CLSID_$$DSDMO_DEFINE$$, $$DSDMO_CLSID$$);
  80. $$IF(SUPPORT_DS_DMP)
  81. DEFINE_GUID(CLSID_$$DSDMO_DEFINE$$PROP, $$DSDMO_PROP_CLSID$$);
  82. $$ENDIF
  83. DEFINE_GUID(IID_$$INTERFACE_NAME$$, $$DSDMO_IID$$);
  84.  
  85. #ifdef __cplusplus
  86. class DECLSPEC_UUID("$$DSDMO_CLSID_UUID$$") $$CLASS_NAME$$;
  87. $$IF(SUPPORT_DS_DMP)
  88. class DECLSPEC_UUID("$$DSDMO_PROP_CLSID_UUID$$") $$CLASS_NAME$$Prop;
  89. $$ENDIF
  90. #endif
  91.  
  92. #ifdef __cplusplus
  93. };    /* extern "C" */
  94. #endif    /* C++ */
  95.  
  96. #endif // _$$DSDMO_DEFINE$$_INTERFACE_
  97.  
  98.